package program;

/**
 * 生兔子（斐波那契数列）
 * 有一对兔子 从出生后第3个月起每个月都生一对兔子，小兔子长到第3个月后，
 * 每个月又生一对兔子，假如兔子都不死，求每个月的兔子总数？
 * <p>
 * 斐波那契数列，公式：S(n)=S(n-1)+S(n-2)
 * 斐波那切数列，又称黄金分割数列，是指这样的一个数列0、1、1、2、3、5、8、13、21、34
 *
 * @author luxx
 * @date 2018/4/27 0027
 */
public class Rabbit {

    static int getCount(int month) {
        int s1 = 1;
        int s2 = 1;
        int temp;
        for (int i = 3; i <= month; i++) {
            temp = s2;
            /**
             * 利用公式：S(n)=S(n-1)+S(n-2)
             *  s1即s(n-2)  s2即s(n-1)
             */
            s2 = s1 + s2;
            s1 = temp;
        }
        System.out.println(s2);
        return s2;
    }

    public static void main(String[] args) {
        getCount(1);
        getCount(2);
        getCount(3);
        getCount(4);
        getCount(5);
    }
}
